#ifndef SPLASHSTATE_H_INCLUDED
#define SPLASHSTATE_H_INCLUDED

#include "Button.h"
#include "CustomCursor.h"
#include "GameState.h"
#include "Image.h"
#include "Singleton.h"
#include "Text.h"

class SplashState : public GameState, public Uncopyable
{
private:
	SplashState() { }
	friend class Singleton<SplashState>;

public:
	void LoadButtons();
	void OnActivated();
	void OnDeactivated();

	virtual void Draw();
	virtual void Update();

	virtual void OnKeyboardEvent(const SDL_KeyboardEvent& k);
	virtual void OnMouseButtonDownEvent(const SDL_MouseButtonEvent& mb);
	virtual void OnMouseMotionEvent(const SDL_MouseMotionEvent& mm);

private:
	//MAKE SURE THE DRAWING ORDER IS CORRECT (first=bottom - last=top)
	Image m_bkgroundImg;
	Text m_txt;
	Button m_startButt;
	Button m_tutorialButt;
	Button m_optionsButt;
	CustomCursor m_custCursor;
};

typedef Singleton<SplashState> TheSplashState;

#endif